package com.xci.platform.core;

import java.util.List;

/**
 * 树形控件操作接口
 */
public interface ITreeOperate {

    /**
     * 获取指定主键的排序路径
     *
     * @param id 主键
     */
    String queryPathById(String id);

    /**
     * 获取指定主键的子节点数
     *
     * @param id 主键
     */
    Integer queryChildCountById(String id);

    /**
     * 根据主键更新父节点以及排序路径
     *
     * @param id       主键
     * @param parentId 上级主键
     * @param path     排序路径
     */
    Integer updateParentAndPathById(String id, String parentId, String path);

    /**
     * 根据主键更新排序路径
     *
     * @param id   主键
     * @param path 排序路径
     */
    Integer updatePathById(String id, String path);

    /**
     * 根据主键更新叶子节点状态
     *
     * @param id   主键
     * @param leaf 叶子节点状态
     */
    Integer updateLeafById(String id, Integer leaf);

    /**
     * 查询Tree模型列表
     */
    List<Tree> queryTreeModelList();
}
